package com.lw.service;

import com.lw.common.vo.Option;
import com.lw.common.vo.PasswordVo;
import com.lw.common.vo.UserVo;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.lw.entity.TbUser;

import java.util.List;

/**
 * 系统用户 服务层。
 *
 * @author lw
 * @since 2024年12月08日 07:53:39
 */
public interface TbUserService extends IService<TbUser> {

    TbUser getByUserName(String username);

    TbUser getUserInfo(Long id);

    Page<TbUser> getUserPage(UserVo page);

    Boolean saveUser(TbUser tbUser);

    Boolean updateUser(TbUser tbUser);

    Boolean deleteUser(String ids);

    Boolean resetPwd(Long id, String password);

    List<TbUser> getUserList(UserVo userVo);

    Boolean updatePassword(PasswordVo passwordVo);

    List<Option<Long>> getUserOptionList();

    Boolean updateUserProfile(TbUser tbUser);
}
